<?php
namespace Amis\dataviewer;

use Amis\Basics\AmisBasics;

class Each extends AmisBasics
{
    public string $type = 'each';

    public function className(string $className)
    {
        $this->className = $className;
        return $this;
    }

    /**
     * 用于循环的值
     * @param string $value
     * @return $this
     */
    public function value(string $value)
    {
        $this->value = $value;
        return $this;
    }

    /**
     * 获取数据域中变量
     * @param string $name
     * @return $this
     */
    public function name(string $name)
    {
        $this->name = $name;
        return $this;
    }

    /**
     * 获取数据域中变量， 支持 数据映射
     * @param $source
     * @return $this
     */
    public function source($source)
    {
        $this->source = $source;
        return $this;
    }

    /**
     * 使用value中的数据，循环输出渲染器。
     * @param $items
     * @return $this
     */
    public function items($items)
    {
        $this->items = $items;
        return $this;
    }

    /**
     * 当 value 值不存在或为空数组时的占位文本
     * @param $placeholder
     * @return $this
     */
    public function placeholder($placeholder)
    {
        $this->placeholder = $placeholder;
        return $this;
    }
}